﻿Public Class frmHe

    Sub LoadDanhSach()
        Dim dt As DataTable
        dt = HeDAO.SelectAll()

        dgvHe.DataSource = dt

    End Sub
    Sub Them()
        Dim he As HeDTO = New HeDTO()
        he.MaHe = txtMH.Text
        he.TenHe = txtTenHe.Text
        he.SoNamDaoTao = txtSoNam.Text
        HeDAO.Insert(he)
        LoadDanhSach()
    End Sub
    Sub Xoa()
        Dim he As HeDTO = New HeDTO()
        he.MaHe = txtMH.Text
        HeDAO.Delete(he)
        LoadDanhSach()
    End Sub
    Sub Sua()
        Dim he As HeDTO = New HeDTO()
        he.MaHe = txtMH.Text
        he.TenHe = txtTenHe.Text
        he.SoNamDaoTao = txtSoNam.Text
        HeDAO.Update(he)
        LoadDanhSach()
    End Sub
    Sub Tim()
        Dim he As HeDTO = New HeDTO()
        he.MaHe = txtMH.Text
        he.TenHe = txtTenHe.Text
        dgvHe.DataSource = HeDAO.SelectByHe(he)
    End Sub
    Sub Clear()
        txtMH.Text = ""
        txtTenHe.Text = ""
        txtSoNam.Text = ""
        txtMH.Focus()

    End Sub
    Private Function CheckDataInput() As Boolean
        If txtMH.Text = "" Then
            MsgBox("Nhập mã hệ, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtMH.Focus()
            Return False
        ElseIf txtTenHe.Text = "" Then
            MsgBox("Nhập tên hệ, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtTenHe.Focus()
            Return False
        ElseIf txtSoNam.Text = "" Then
            MsgBox("Nhập số năm đào tạo, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtSoNam.Focus()
            Return False
        ElseIf IsNumeric(txtTenHe.Text) Then
            MsgBox("Tên hệ phải là chữ! không được nhập số", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtTenHe.Text = ""
            txtTenHe.Focus()
            Return False
        End If
        Return True
    End Function
    Sub HienThi()
        If (dgvHe.SelectedRows.Count > 0) Then
            txtMH.Text = dgvHe.SelectedRows(0).Cells(0).Value.ToString()
            txtTenHe.Text = dgvHe.SelectedRows(0).Cells(1).Value.ToString()
            txtSoNam.Text = dgvHe.SelectedRows(0).Cells(2).Value.ToString()
        End If
    End Sub
    Private Sub frmHe_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadDanhSach()

    End Sub

    Private Sub btnthoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThoat.Click
        Me.Close()
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        Dim dt As New DataTable
        dt = HeDAO.SelectAll
        Dim tam As Integer = 0
        Dim tam1 As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Mahe") = txtMH.Text Then
                tam += 1
                i += 1
            ElseIf dt.Rows(i)("Tenhe") = txtTenHe.Text Then
                tam1 += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Hệ ! Nhập lại !")
            txtMH.Text = ""
            txtMH.Focus()
        ElseIf tam1 > 0 Then
            MsgBox("Không được nhập trùng Tên Hệ ! Nhập lại !")
            txtTenHe.Text = ""
            txtTenHe.Focus()
        Else
            If CheckDataInput() = True Then
                Them()
                Clear()
            End If
        End If
    End Sub

    Private Sub dgvHe_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvHe.SelectionChanged
        HienThi()
    End Sub

    Private Sub btnxoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        If dgvHe.SelectedRows.Count > 0 Then
            If MsgBox("Bạn có muốn xóa?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Thông báo") = MsgBoxResult.Yes Then
                Xoa()
                LoadDanhSach()
                Clear()
            Else
                Exit Sub
            End If
        Else
            MsgBox("Chọn mẫu tin cần xoá !", MsgBoxStyle.Question + MsgBoxStyle.OkOnly, "Thông báo")
        End If
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        Dim dt As New DataTable
        dt = HeDAO.SelectAll
        Dim tam As Integer = 0
        Dim tam1 As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Mahe") = txtMH.Text Then
                tam += 1
                i += 1
            ElseIf dt.Rows(i)("Tenhe") = txtTenHe.Text Then
                tam1 += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Hệ ! Nhập lại !")
            txtMH.Text = ""
            txtMH.Focus()
        ElseIf tam1 > 0 Then
            MsgBox("Không được nhập trùng Tên Hệ ! Nhập lại !")
            txtTenHe.Text = ""
            txtTenHe.Focus()
        Else
            If CheckDataInput() = True Then
                Sua()
                Clear()
            End If
        End If
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        Clear()

    End Sub

    Private Sub btntim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        Tim()
    End Sub

    Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click

        Dim f As New frmBaoCaoGV
        f.Show()
    End Sub


    Private Sub txtSoNam_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSoNam.KeyPress
        If (Not Char.IsNumber(e.KeyChar) And _
        Not Char.IsControl(e.KeyChar)) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtMH_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMH.TextChanged

    End Sub

    Private Sub dgvHe_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvHe.CellContentClick

    End Sub
End Class